package foodmaterial.dao;

import foodmaterial.dto.StatisticsConsumeDto;
import foodmaterial.dto.StatisticsPurchaseDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface StatisticsDao {
    List<Map<String,Object>> selectSupplyFoodMaterialByDay(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSupplyFoodMaterialByMonth(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSupplyRecipeByDay(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSupplyRecipeByMonth(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSupplyFoodMaterialByTop(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSupplyRecipeByTop(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSaleByDay(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectSaleByMonth(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectRecipeSaleByDay(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectRecipeSaleByMonth(StatisticsConsumeDto dto) ;

    List<Map<String,Object>> selectSaleByTop(StatisticsConsumeDto dto) ;
    List<Map<String,Object>> selectRecipeSaleByTop(StatisticsConsumeDto dto) ;

    List<Map<String,Object>> selectPurchaseFoodMaterialByDay(StatisticsPurchaseDto dto);
    List<Map<String,Object>> selectPurchaseFoodMaterialByMonth(StatisticsPurchaseDto dto);
    List<Map<String,Object>> selectPurchaseByDay(StatisticsPurchaseDto dto);
    List<Map<String,Object>> selectPurchaseByMonth(StatisticsPurchaseDto dto);

    List<Map<String,Object>> selectDriverPerformance(@Param("beginSupplyDate") String beginSupplyDate,
                                                     @Param("endSupplyDate") String endSupplyDate) ;
    List<Map<String,Object>> selectMasterPerformance(@Param("beginSupplyDate") String beginSupplyDate,
                                                     @Param("endSupplyDate") String endSupplyDate) ;
    List<Map<String,Object>> selectTeamPerformance(@Param("beginSupplyDate") String beginSupplyDate,
                                                     @Param("endSupplyDate") String endSupplyDate) ;

}
